30 research outputs found

    Algorithms for Secretary Problems on Graphs and Hypergraphs

    Full text link
    We examine several online matching problems, with applications to Internet advertising reservation systems. Consider an edge-weighted bipartite graph G, with partite sets L, R. We develop an 8-competitive algorithm for the following secretary problem: Initially given R, and the size of L, the algorithm receives the vertices of L sequentially, in a random order. When a vertex l \in L is seen, all edges incident to l are revealed, together with their weights. The algorithm must immediately either match l to an available vertex of R, or decide that l will remain unmatched. Dimitrov and Plaxton show a 16-competitive algorithm for the transversal matroid secretary problem, which is the special case with weights on vertices, not edges. (Equivalently, one may assume that for each l \in L, the weights on all edges incident to l are identical.) We use a similar algorithm, but simplify and improve the analysis to obtain a better competitive ratio for the more general problem. Perhaps of more interest is the fact that our analysis is easily extended to obtain competitive algorithms for similar problems, such as to find disjoint sets of edges in hypergraphs where edges arrive online. We also introduce secretary problems with adversarially chosen groups. Finally, we give a 2e-competitive algorithm for the secretary problem on graphic matroids, where, with edges appearing online, the goal is to find a maximum-weight acyclic subgraph of a given graph.Comment: 15 pages, 2 figure

    Single-Sink Network Design with Vertex Connectivity Requirements

    Get PDF
    We study single-sink network design problems in undirected graphs with vertex connectivity requirements. The input to these problems is an edge-weighted undirected graph G=(V,E)G=(V,E), a sink/root vertex rr, a set of terminals TsubseteqVT subseteq V, and integer kk. The goal is to connect each terminal tinTt in T to rr via kk emph{vertex-disjoint} paths. In the {em connectivity} problem, the objective is to find a min-cost subgraph of GG that contains the desired paths. There is a 22-approximation for this problem when kle2k le 2 cite{FleischerJW} but for kge3k ge 3, the first non-trivial approximation was obtained in the recent work of Chakraborty, Chuzhoy and Khanna cite{ChakCK08}; they describe and analyze an algorithm with an approximation ratio of O(kO(k2)log4n)O(k^{O(k^2)}log^4 n) where n=∣V∣n=|V|. In this paper, inspired by the results and ideas in cite{ChakCK08}, we show an O(kO(k)log∣T∣)O(k^{O(k)}log |T|)-approximation bound for a simple greedy algorithm. Our analysis is based on the dual of a natural linear program and is of independent technical interest. We use the insights from this analysis to obtain an O(kO(k)log∣T∣)O(k^{O(k)}log |T|)-approximation for the more general single-sink {em rent-or-buy} network design problem with vertex connectivity requirements. We further extend the ideas to obtain a poly-logarithmic approximation for the single-sink {em buy-at-bulk} problem when k=2k=2 and the number of cable-types is a fixed constant; we believe that this should extend to any fixed kk. We also show that for the non-uniform buy-at-bulk problem, for each fixed kk, a small variant of a simple algorithm suggested by Charikar and Kargiazova cite{CharikarK05} for the case of k=1k=1 gives an 2O(sqrtlog∣T∣)2^{O(sqrt{log |T|})} approximation for larger kk. These results show that for each of these problems, simple and natural algorithms that have been developed for k=1k=1 have good performance for small k>1k > 1

    Pruning 2-Connected Graphs

    Get PDF
    Given an edge-weighted undirected graph GG with a specified set of terminals, let the emph{density} of any subgraph be the ratio of its weight/cost to the number of terminals it contains. If GG is 2-connected, does it contain smaller 2-connected subgraphs of density comparable to that of GG? We answer this question in the affirmative by giving an algorithm to emph{prune} GG and find such subgraphs of any desired size, at the cost of only a logarithmic increase in density (plus a small additive factor). We apply the pruning techniques to give algorithms for two NP-Hard problems on finding large 2-vertex-connected subgraphs of low cost; no previous approximation algorithm was known for either problem. In the kv problem, we are given an undirected graph GG with edge costs and an integer kk; the goal is to find a minimum-cost 2-vertex-connected subgraph of GG containing at least kk vertices. In the bv problem, we are given the graph GG with edge costs, and a budget BB; the goal is to find a 2-vertex-connected subgraph HH of GG with total edge cost at most BB that maximizes the number of vertices in HH. We describe an O(lognlogk)O(log n log k) approximation for the kv problem, and a bicriteria approximation for the bv problem that gives an O(frac1epslog2n)O(frac{1}{eps}log^2 n) approximation, while violating the budget by a factor of at most 3+eps3+eps

    Approximation Algorithms for Network Design and Orienteering

    Get PDF
    This thesis presents approximation algorithms for some NP-Hard combinatorial optimization problems on graphs and networks; in particular, we study problems related to Network Design. Under the widely-believed complexity-theoretic assumption that P is not equal to NP, there are no efficient (i.e., polynomial-time) algorithms that solve these problems exactly. Hence, if one desires efficient algorithms for such problems, it is necessary to consider approximate solutions: An approximation algorithm for an NP-Hard problem is a polynomial time algorithm which, for any instance of the problem, finds a solution whose value is guaranteed to be within a multiplicative factor of the value of an optimal solution to that instance. We attempt to design algorithms for which this factor, referred to as the approximation ratio of the algorithm, is as small as possible. The field of Network Design comprises a large class of problems that deal with constructing networks of low cost and/or high capacity, routing data through existing networks, and many related issues. In this thesis, we focus chiefly on designing fault-tolerant networks. Two vertices u,v in a network are said to be k-edge-connected if deleting any set of k − 1 edges leaves u and v connected; similarly, they are k-vertex connected if deleting any set of k − 1 other vertices or edges leaves u and v connected. We focus on building networks that are highly connected, meaning that even if a small number of edges and nodes fail, the remaining nodes will still be able to communicate. A brief description of some of our results is given below. We study the problem of building 2-vertex-connected networks that are large and have low cost. Given an n-node graph with costs on its edges and any integer k, we give an O(log n log k) approximation for the problem of finding a minimum-cost 2-vertex-connected subgraph containing at least k nodes. We also give an algorithm of similar approximation ratio for maximizing the number of nodes in a 2-vertex-connected subgraph subject to a budget constraint on the total cost of its edges. Our algorithms are based on a pruning process that, given a 2-vertex-connected graph, finds a 2-vertex-connected subgraph of any desired size and of density comparable to the input graph, where the density of a graph is the ratio of its cost to the number of vertices it contains. This pruning algorithm is simple and efficient, and is likely to find additional applications. Recent breakthroughs on vertex-connectivity have made use of algorithms for element-connectivity problems. We develop an algorithm that, given a graph with some vertices marked as terminals, significantly simplifies the graph while preserving the pairwise element-connectivity of all terminals; in fact, the resulting graph is bipartite. We believe that our simplification/reduction algorithm will be a useful tool in many settings. We illustrate its applicability by giving algorithms to find many trees that each span a given terminal set, while being disjoint on edges and non-terminal vertices; such problems have applications in VLSI design and other areas. We also use this reduction algorithm to analyze simple algorithms for single-sink network design problems with high vertex-connectivity requirements; we give an O(k log n)-approximation for the problem of k-connecting a given set of terminals to a common sink. We study similar problems in which different types of links, of varying capacities and costs, can be used to connect nodes; assuming there are economies of scale, we give algorithms to construct low-cost networks with sufficient capacity or bandwidth to simultaneously support flow from each terminal to the common sink along many vertex-disjoint paths. We further investigate capacitated network design, where edges may have arbitrary costs and capacities. Given a connectivity requirement R_uv for each pair of vertices u,v, the goal is to find a low-cost network which, for each uv, can support a flow of R_uv units of traffic between u and v. We study several special cases of this problem, giving both algorithmic and hardness results. In addition to Network Design, we consider certain Traveling Salesperson-like problems, where the goal is to find short walks that visit many distinct vertices. We give a (2 + epsilon)-approximation for Orienteering in undirected graphs, achieving the best known approximation ratio, and the first approximation algorithm for Orienteering in directed graphs. We also give improved algorithms for Orienteering with time windows, in which vertices must be visited between specified release times and deadlines, and other related problems. These problems are motivated by applications in the fields of vehicle routing, delivery and transportation of goods, and robot path planning
    corecore